#!/data/data/com.termux/files/usr/bin/bash
#
# 检查环境依赖脚本
# 检查 Python 和 am 命令是否安装
#

echo "============================================================"
echo "检查环境依赖"
echo "============================================================"
echo ""

all_ok=true

# 检查 Python 是否安装
echo "1. 检查 Python..."
if command -v python3 >/dev/null 2>&1; then
    python_version=$(python3 --version 2>&1)
    echo "   ✓ Python 已安装: $python_version"
elif command -v python >/dev/null 2>&1; then
    python_version=$(python --version 2>&1)
    echo "   ✓ Python 已安装: $python_version"
else
    echo "   ❌ Python 未安装"
    echo ""
    echo "   请安装 Python:"
    echo "     pkg install python"
    all_ok=false
fi

echo ""

# 检查 am 命令是否安装
echo "2. 检查 am 命令..."
if command -v am >/dev/null 2>&1; then
    am_path=$(which am)
    echo "   ✓ am 命令已找到: $am_path"
    
    # 测试 am 命令是否能正常工作（实际测试广播功能）
    echo "   测试 am broadcast 功能..."
    # 尝试发送一个测试广播（使用不存在的组件，只测试命令本身）
    test_result=$(am broadcast -a com.termux.TEST 2>&1)
    test_exit_code=$?
    
    # 如果返回码是 0 或者错误信息表明命令被识别（不是"command not found"），说明命令可用
    if [ $test_exit_code -eq 0 ] || [ $test_exit_code -eq 255 ] || echo "$test_result" | grep -qE "(broadcast|Intent|component)"; then
        echo "   ✓ am broadcast 命令可用"
    elif echo "$test_result" | grep -q "command not found"; then
        echo "   ❌ am 命令无法执行"
        echo ""
        echo "   请安装 termux-tools:"
        echo "     pkg install termux-tools"
        all_ok=false
    else
        echo "   ⚠️  am 命令可能功能不完整"
        echo ""
        echo "   Termux bootstrap 的 am 命令可能无法发送广播"
        echo "   建议安装 termux-tools 以确保完整功能:"
        echo "     pkg install termux-tools"
    fi
else
    echo "   ❌ am 命令未安装"
    echo ""
    echo "   请安装 termux-tools:"
    echo "     pkg install termux-tools"
    all_ok=false
fi

echo ""

# 检查 PythonApiReceiver 组件
echo "3. 检查 PythonApiReceiver 组件..."
if dumpsys package com.termux 2>/dev/null | grep -q "PythonApiReceiver"; then
    echo "   ✓ PythonApiReceiver 组件已注册"
else
    echo "   ⚠️  PythonApiReceiver 组件未找到"
    echo "   （需要安装包含该组件的应用版本）"
fi

echo ""

# 总结
echo "============================================================"
if [ "$all_ok" = true ]; then
    echo "✓ 所有依赖已安装"
    echo ""
    echo "注意: 如果 am 命令来自 Termux bootstrap 且无法发送广播，"
    echo "      请安装 termux-tools: pkg install termux-tools"
else
    echo "❌ 缺少依赖，请根据上述提示安装"
    echo ""
    echo "重要提示:"
    echo "  - Termux bootstrap 的 am 命令可能无法发送广播"
    echo "  - 如果广播失败，请安装: pkg install termux-tools"
fi
echo "============================================================"
echo ""
echo "按 Enter 键退出..."
read

